<head>
    <meta charset="UTF-8">
<title>历届试题 车轮轴迹</title>
<link rel="stylesheet" href="../css/main.css">
</head>
 <p>【问题描述】</p>
<div>&nbsp; &nbsp; 栋栋每天骑自行车回家需要经过一条狭长的林荫道。道路由于年久失修，变得非常不平整。虽然栋栋每次都很颠簸，但他仍把骑车经过林荫道当成一种乐趣。</div>
<div>&nbsp; &nbsp; 由于颠簸，栋栋骑车回家的路径是一条上下起伏的曲线，栋栋想知道，他回家的这条曲线的长度究竟是多长呢？更准确的，栋栋想知道从林荫道的起点到林荫道的终点，他的车前轮的轴（圆心）经过的路径的长度。</div>
<div>&nbsp; &nbsp; 栋栋对路面进行了测量。他把道路简化成一条条长短不等的直线段，这些直线段首尾相连，且位于同一平面内。并在该平面内建立了一个直角坐标系，把所有线段的端点坐标都计算好。</div>
<div>&nbsp; &nbsp; 假设栋栋的自行车在行进的过程中前轮一直是贴着路面前进的。</div>
<div>&nbsp;</div>
<div><img src="http://lx.lanqiao.cn/RequireFile.do?fid=tAMBefqe" width="512" height="256" alt="" /></div>
<div>&nbsp; &nbsp; 上图给出了一个简单的路面的例子，其中蓝色实线为路面，红色虚线为车轮轴经过的路径。在这个例子中，栋栋的前轮轴从A点出发，水平走到B点，然后绕着地面的F点到C点（绕出一个圆弧），再沿直线下坡到D点，最后水平走到E点，在这个图中地面的坐标依次为：(0, 0), (2, 0), (4, -1), (6, -1)，前轮半径为1.50，前轮轴前进的距离依次为：</div>
<div>&nbsp; &nbsp; AB=2.0000；弧长BC=0.6955；CD=1.8820；DE=1.6459。</div>
<div>&nbsp; &nbsp; 总长度为6.2233。</div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; 下图给出了一个较为复杂的路面的例子，在这个例子中，车轮在第一个下坡还没下完时（D点）就开始上坡了，之后在坡的顶点要从E绕一个较大的圆弧到F点。这个图中前轮的半径为1，每一段的长度依次为：</div>
<div>&nbsp; &nbsp; AB=3.0000；弧长BC=0.9828；CD=1.1913；DE=2.6848；弧长EF=2.6224； &nbsp; &nbsp;FG=2.4415；GH=2.2792。</div>
<div>&nbsp; &nbsp; 总长度为15.2021。</div>
<div><img src="http://lx.lanqiao.cn/RequireFile.do?fid=jQtyey68" width="680" height="400" alt="" /></div>
<div>&nbsp; &nbsp; 现在给出了车轮的半径和路面的描述，请求出车轮轴轨迹的总长度。</div>
<p>【输入格式】</p>
<div>&nbsp; &nbsp; 输入的第一行包含一个整数n和一个实数r，用一个空格分隔，表示描述路面的坐标点数和车轮的半径。</div>
<div>&nbsp; &nbsp; 接下来n行，每个包含两个实数，其中第i行的两个实数x[i], y[i]表示描述路面的第i个点的坐标。</div>
<div>&nbsp; &nbsp; 路面定义为所有路面坐标点顺次连接起来的折线。给定的路面的一定满足以下性质：</div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; *第一个坐标点一定是(0, 0)；</div>
<div>&nbsp; &nbsp; *第一个点和第二个点的纵坐标相同；</div>
<div>&nbsp; &nbsp; *倒数第一个点和倒数第二个点的纵坐标相同；</div>
<div>&nbsp; &nbsp; *第一个点和第二个点的距离不少于车轮半径；</div>
<div>&nbsp; &nbsp; *倒数第一个点和倒数第二个点的的距离不少于车轮半径；</div>
<div>&nbsp; &nbsp; *后一个坐标点的横坐标大于前一个坐标点的横坐标，即对于所有的i，x[i+1]&gt;x[i]。</div>
<p>【输出格式】</p>
<div>&nbsp; &nbsp; 输出一个实数，四舍五入保留两个小数，表示车轮轴经过的总长度。</div>
<div>&nbsp; &nbsp; 你的结果必须和参考答案一模一样才能得分。数据保证答案精确值的小数点后第三位不是4或5。</div>
<p>【样例输入】</p>
<div>4 1.50</div>
<div>0.00 0.00</div>
<div>2.00 0.00</div>
<div>4.00 -1.00</div>
<div>6.00 -1.00</div>
<p>【样例输出】</p>
<div>6.22</div>
<div>【样例说明】</div>
<div>这个样例对应第一个图。</div>
<div>【样例输入】<br />
<div>6 1.00</div>
<div>0.00 0.00</div>
<div>3.00 0.00</div>
<div>5.00 -3.00</div>
<div>6.00 2.00</div>
<div>7.00 -1.00</div>
<div>10.00 -1.00</div>
<div>【样例输出】</div>
<div>
<div>15.20</div>
</div>
</div>
<div>
<div>【样例说明】</div>
<div>这个样例对应第二个图</div>
<div>【数据规模与约定】</div>
<div>对于20%的数据，n=4；</div>
<div>对于40%的数据，n&le;10；</div>
<div>对于100%的数据，4&le;n&le;100，0.5&le;r&le;20.0，x[i] &le;2000.0，-2000.0&le;y[i] &le;2000.0。</div>
</div>
<div>&nbsp;</div>